package com.py.ledger.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 库存预警对象 py_inventory_details
 * 
 * @author he
 * @date 2024-11-29
 */
public class InventoryDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long inventoryQueryId;

    /** 货品编号 */
    @Excel(name = "货品编号")
    private String productCode;

    /** 仓库编号 */
    private String warehouseCode;

    /** 当前库存 */
    @Excel(name = "当前库存")
    private Long currentInventory;

    /** 库存金额 */
    private BigDecimal inventoryValue;

    /** 待入库 */
    private Long pendingIn;

    /** 待出库 */
    private Long pendingOut;

    /** 可用库存金额 */
    private BigDecimal availableInventoryValue;

    /** 库存上限 */
    @Excel(name = "库存上限")
    private Long inventoryUpperLimit;

    /** 库存下限 */
    @Excel(name = "库存下限")
    private Long inventoryLowerLimit;

    //查询
    @Transient
    private String dictLabel;

    @Transient
    private String productTypeName;

    @Transient
    private String productName;

    @Transient
    private String productModel;

    @Transient
    private Integer count;

    @Transient
    private String message;

    /** 货品类型名称 */
    @Excel(name = "货品类型名称")
    private String productTypeCode;

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getProductTypeCode() {
        return productTypeCode;
    }

    public void setProductTypeCode(String productTypeCode) {
        this.productTypeCode = productTypeCode;
    }

    public String getDictLabel() {
        return dictLabel;
    }

    public void setDictLabel(String dictLabel) {
        this.dictLabel = dictLabel;
    }

    public String getProductTypeName() {
        return productTypeName;
    }

    public void setProductTypeName(String productTypeName) {
        this.productTypeName = productTypeName;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductModel() {
        return productModel;
    }

    public void setProductModel(String productModel) {
        this.productModel = productModel;
    }

    public void setInventoryQueryId(Long inventoryQueryId)
    {
        this.inventoryQueryId = inventoryQueryId;
    }

    public Long getInventoryQueryId() 
    {
        return inventoryQueryId;
    }
    public void setProductCode(String productCode) 
    {
        this.productCode = productCode;
    }

    public String getProductCode() 
    {
        return productCode;
    }
    public void setWarehouseCode(String warehouseCode) 
    {
        this.warehouseCode = warehouseCode;
    }

    public String getWarehouseCode() 
    {
        return warehouseCode;
    }
    public void setCurrentInventory(Long currentInventory) 
    {
        this.currentInventory = currentInventory;
    }

    public Long getCurrentInventory() 
    {
        return currentInventory;
    }
    public void setInventoryValue(BigDecimal inventoryValue) 
    {
        this.inventoryValue = inventoryValue;
    }

    public BigDecimal getInventoryValue() 
    {
        return inventoryValue;
    }
    public void setPendingIn(Long pendingIn) 
    {
        this.pendingIn = pendingIn;
    }

    public Long getPendingIn() 
    {
        return pendingIn;
    }
    public void setPendingOut(Long pendingOut) 
    {
        this.pendingOut = pendingOut;
    }

    public Long getPendingOut() 
    {
        return pendingOut;
    }
    public void setAvailableInventoryValue(BigDecimal availableInventoryValue) 
    {
        this.availableInventoryValue = availableInventoryValue;
    }

    public BigDecimal getAvailableInventoryValue() 
    {
        return availableInventoryValue;
    }
    public void setInventoryUpperLimit(Long inventoryUpperLimit) 
    {
        this.inventoryUpperLimit = inventoryUpperLimit;
    }

    public Long getInventoryUpperLimit() 
    {
        return inventoryUpperLimit;
    }
    public void setInventoryLowerLimit(Long inventoryLowerLimit) 
    {
        this.inventoryLowerLimit = inventoryLowerLimit;
    }

    public Long getInventoryLowerLimit() 
    {
        return inventoryLowerLimit;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("inventoryQueryId", getInventoryQueryId())
            .append("productCode", getProductCode())
            .append("warehouseCode", getWarehouseCode())
            .append("currentInventory", getCurrentInventory())
            .append("inventoryValue", getInventoryValue())
            .append("pendingIn", getPendingIn())
            .append("pendingOut", getPendingOut())
            .append("availableInventoryValue", getAvailableInventoryValue())
            .append("inventoryUpperLimit", getInventoryUpperLimit())
            .append("inventoryLowerLimit", getInventoryLowerLimit())
            .toString();
    }
}
